#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

//
//int  boili(int n)
//{
//	
//	/*else
//	{
//		return boili(n - 1) + boili(n - 2);
//	}*/
//	int a = 1;
//	int b = 1;
//	int sum = 0;
//	if (1 == n || 2 == n)
//		return 1;
//	else
//	{
//		while (n >= 3)
//		{
//			sum = a + b;
//			a = b;
//			b = sum;
//			n--;
//		}
//		return sum;
//	}
//}
//
//int main()
//{
//	int n;
//	scanf("%d", &n);
//	int ret=boili(n);
//	printf("%d", ret);
//	return 0;
//}

//void reverse_string(char* str, int sz)
//{
//	char* left = str;
//	char* right = str + sz - 1;
//	while (left < right)
//	{
//		char tmp = *left;
//		*left = *right;
//		*right = tmp;
//		left++;
//		right--;
//	/*}
//}

/*int main()
{
	char ch[] = "abcdef";
	int sz = sizeof(ch) / sizeof(ch[0]);
	reverse_string(ch, sz);
	for (int i = 0; i < sz; i++)
		printf("%c", ch[i]);
	return 0;
}*/


/*void sign(int n)
{
	int sum = 1;
	for (int i = 1; i <= n; i++)
		sum = sum * i;
	printf("%d", sum);
}*/


//int sign(int n)
//{
//	if (1 == n)
//		return 1;
//	else
//		return n * sign(n - 1);
//
//}

int main()
{
	int n;
	scanf("%d", &n);
	int ret =sign(n);
	printf("%d", ret);
	return 0;
}









